package com.wut.clock.service;

import com.wut.clock.entity.Favorite;
import com.wut.clock.mongo.dto.CollectionParams;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * @author ZYH
 * @unit D9Lab
 * @description 收藏接口
 * @date 2022/6/11 10:55
 */
public interface ICollectionService {

    /**
     * 新增收藏夹
     * @param favorite 收藏夹实体
     * @return >0成功
     */
    int addFavorite(Favorite favorite);

    /**
     * 修改收藏夹
     * @param favorite 收藏夹实体
     * @return >0成功
     */
    int updateFavorite(Favorite favorite);

    /**
     * 删除收藏夹
     * @param favoriteId 收藏夹id
     * @return >0成功
     */
    int deleteFavorite(Integer favoriteId);

    /**
     * 获取当前用户的收藏夹列表
     * @return 收藏夹列表
     */
    List<Favorite> getFavoriteList();

    /**
     * 新增收藏
     * @param collectionParams 收藏参数
     * @return int >0成功
     */
    int addCollection(CollectionParams collectionParams);

    /**
     * 删除收藏
     * @param articleId 文章id
     * @return int >0 成功
     */
    int deleteCollection(Integer articleId);

    /**
     * 查看收藏列表
     * @param pageNum 页码
     * @param pageSize 尺寸
     * @param favoriteId 收藏夹id
     * @return 收藏列表
     */
    Page<CollectionParams> getCollectionList(Integer pageNum,Integer pageSize,Integer favoriteId);
}
